package cn.iocoder.yudao.module.infra.api.ocr;

import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.infra.enums.ApiConstants;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * OCR 配置 API 接口
 *
 * @author 芋道源码
 */
@FeignClient(name = ApiConstants.NAME)
@Tag(name = "RPC 服务 - OCR 配置")
public interface OcrConfigApi {

    String PREFIX = ApiConstants.PREFIX + "/ocr-config";

    /**
     * 获取可用的 OCR 配置 ID
     *
     * @param status 状态（1-启用，0-禁用）
     * @return OCR 配置 ID
     */
    @GetMapping(PREFIX + "/get-available-config-id")
    @Operation(summary = "获取可用的OCR配置ID")
    CommonResult<Long> getAvailableOcrConfigId(@RequestParam("status") @NotNull Integer status);

}